SAFE Logo
CodeMatch Detailed Report
Version: 5.7.2 | Date: 08/27/16 | Time: 18:43:56

SCORE

SETTINGS
Compare file 1: Z:\Zeidman Consulting\projects\DOS and CPM\code\CHM\CPM\1.3\SYSGEN.asm
To file 2: Z:\Zeidman Consulting\projects\DOS and CPM\code\CHM\CPM\1.3\SYSGEN.asm
Links to results: Matching Statements
Matching Comments and Strings
Matching Instruction Sequences
Matching Identifiers
Partially Matching Identifiers
Score
RESULTS
Matching Statements
File1 Line# File2 Line# Statement
22VERS EQU 11
77ORG 100H
99LOADP EQU 900H
1010BDOS EQU 5H
1111BOOT EQU 0
1212CONI EQU 1
1313CONO EQU 2
1414SELF EQU 14
1515DISKA EQU 0
1616DISKB EQU 1
1818MAXTRY EQU 10
1919NTRKS EQU 2
2020CR EQU BDH
2121LF EQU BAH
2222STACKSIZE EQU 10
2424WBOOT EQU 1
2626SELDSK EQU 24
2727SETTRK EQU 27
2828SETSEC EQU 30
2929SETDMA EQU 33
3030READF EQU 36
3131WRITF EQU 39
3333LXI SP, STACK
3434JMP START
3737GETCHAR:
3939MVI C, CONI
39
45
39
45
CALL BDOS
4141ANI 5FH
4343PUTCHAR:
4545MOV E, A
4545MVI C, COND
4747CRLF:
4848MVI A, CR
49
51
59
49
51
59
CALL PUTCHAR
5050MVI A, LF
5454OUTMSG:
55
59
55
59
PUSH H
55
150
207
213
223
244
250
266
55
150
207
213
223
244
250
266
CALL CRLF
55
59
55
59
POP H
5656OUTMSGA:
57
108
121
57
108
121
MOV A, M
57
161
170
57
161
170
ORA A
5959INX H
6060JMP OUTMSG0
6262SEL:
64
114
158
64
114
158
MOV C, A
64
67
73
79
85
91
64
67
73
79
85
91
LHLD WBOOT
6464LXI D, SELDSK
6464BAD D
6666TRK:
6868LXI D, SETTRK
69
75
81
87
93
131
69
75
81
87
93
131
DAD D
7272SEC:
7474LXI D, SETSEC
7878DMA:
8080LXI D, SETDMA
8484READ:
8686LXI D, READF
9090WR1TE:
9292LXI D, WRITF
9595GETPUT:
9999LXI H, LOADP
100
132
100
132
SHLD DMADDR
103
116
134
215
103
116
134
215
XRA A
104104STA TRACK
106106RWTRK:
107107LXI H, TRACK
109109CPI NTRKS
110110JNC ENDRW
113113INR M
115115CALL TRK
117117STA SECTOR
119119RWSEC:
120120LXI H, SECTOR
122122CPI 26
123123JNC ENDTRK
124124IHR M
127127LHLD DMADDR
128128MOV B, H
129129MOV C, L
130130LXI D, 00H
133133CALL DMA
135
156
135
156
STA RETRY
137137TRYSEC:
138138LDA RETRY
139139CPI MAXTRY
140140JC TRYOK
143143LXI H, ERRMSG
144
187
189
209
219
225
246
256
260
144
187
189
209
219
225
246
256
260
CALL OUTMSG
145
190
210
226
247
261
145
190
210
226
247
261
CALL GETCHAR
146
211
248
262
146
211
248
262
CPI CR
147
212
236
249
263
147
212
236
249
263
JNZ REBOOT
151151JMP RWSEC
153153TRYOK:
155155INR A
157157LDA SECTOR
159159CALL SEC
160160LDA RW
162162JZ TRYREAD
165165CALL WRITE
166166JMP CHKRW
167167TRYREAD:
168168CALL READ
169169CHKRW:
171171JZ RWSEC
174174JMP TRYSEC
177177ENDTRK:
178178JMP RWTRK
180180ENDRW:
184184START:
186186LXI H, SIGHON
188188LXI H, ASKGET
191
227
191
227
MVI C, DISKB
193
195
193
195
JZ GETC
196
234
196
234
MVI C, DISKA
198198JNZ PUTSYS
200200GETC:
202
205
239
242
202
205
239
242
MOV A, C
204204STA GDISK
205
242
266
205
242
266
CALL SEL
208208LXI H, GETMSG
216216STA RW
217
254
217
254
CALL GETPUT
218
255
218
255
LXI H, DONE
222222PUTSYS:
224224LXI H, ASKPUT
229
231
229
231
JZ PUTC
237237PUTC:
241241STA PDISK
245245LXI H, PUTMSG
252252LXI H, RW
253253MVI M, 1
258258REBOOT:
259259LXI H, BOOTING
266266MVI A, DISKA
266266JMP BOOT
270270SIGNON:
272272DB VERS/10+ , ,VERS MOD 10+
273273DB 0
274274ASKGET: DB , 0
275275GETMSG: DB
276276CDISK: DB
277
281
277
281
DB , 0
278278ASKPUT: DB , 0
279279PUTMSG: DB
280280PDISK: DB
282282ERRMSG: DB , 0
283283DONE: DB , 0
284284BOOTING:DB , 0
287287SDISK: DS 1
288288TRACK: DS 1
289289SECTOR: DS 1
290290RW: DS 1
291291DMADDR: DS 2
292292RETRY: DS 1
293293DS STACKSIZE=2
294294STACK:

to top

Matching Comments and Strings
File1 Line# File2 Line# Comment/String
11SYSTEM GENERATION PROGRAM, VERSION FOR MDS
22X. X
44COPYRIGHT (C) DIGITAL RESEARCH
551976
77BASE OF TRANSIENT AREA
99LOAD POINT FOR SYSTEM DURING LOAD/STORE
1010DOS ENTRY POINT
1111JUMP TO 'BOOT' TO REBOOT SYSTEM
1212CONSOLE INPUT FUNCTION
1313CONSOLE OUTPUT FUNCTION
1414SELECT DISK
1515NUMBER CORRESPONDING TO A
1616AND B, RESPECTIVELY
1818MAXIMUM NUMBER OF RETRIES ON EACH READ/WRITE
1919NUMBER OF TRACK RESERVED FOR CP/M
2020CARRIAGE RETURN
2121LINE FEED
2222SIZE OF LOCAL STACK
2424ADDRESS OF WARM BOOT (OTHER PATCH ENTRY
2525POINTS ARE COMPUTED RELATIVE TO WBOOT)
2626WBOOT+24 FOR DISK SELECT
2727WBOOT+27 FOR SET TRACK FUNCTION
2828WBOOT+30 FOR SET SECTOR FUNCTION
2929WBOOT+33 FOR SET DMA ADDRESS
3030WB00T+36 FOR READ FUNCTION
3131WB00T+39 FOR WRITE FUNCTION
3333SET LOCAL STACK
3636UTILITY SUBROUTINES
3838READ CONSOLE CHARACTER TO REGISTER A
4040CONVERT TO UPPER CASE BEFORE RETURN
4444WRITE CHARACTER FROM A TO CONSOLE
4747SEND CARRIAGE RETURN, LINE FEED
5454PRINT MESSAGE ADDRESSED BY H,L TIL ZERO
5555DROP THRU TO OUTMSG0
5858MESSAGE NOT YET COMPLETED
6363SELECT DISK GIVEN BY REGISTER A
6666SET UP TRACK
6767ADDRESS OF BOOT ENTRY
6868OFFSET FOR SETTRK ENTRY
7070GONE TO SETTRK
72
159
72
159
SET UP SECTOR NUMBER
7878SET DMA ADDRESS TO VALUE OF B,C
8484PERFORM READ OPERATION
9090PERFORM WRITE OPERATON
9696GET OR PUT CP/M (RW=0 FOR READ, 1 FOR WRITE)
9797DISK IS ALREADY SELECTED
9999LOAD POINT IN RAN FOR CP/H DURING SYS(
102102CLEAR TRACK TO 00
103103CLEAR REG-A
106106READ OR WRITE NEXT TRACK
109109LOADED OR DUMPED ENTIRE SYSTEM?
110110END OF READ OR WRITE
112112OTHERWISE NOTDONE, GO TO HEXT TRACK
115115TO SET TRACK
117117SECTOR INCREMENTED BEFORE READ OR WRITE
119119READ OR WRITE SECTOR
122122PAST LAST SECTOR ON THIS TRACK?
124124TO NEXT SECTOR
126126READ OR WRITE SECTOR TO OR FROM CURRENT DMA ADDR
129129READY FOR SET DMA
130130INCREMENT BY 128 BYTES
132132READY FOR NEXT OPERATION
133133DMA ADDRESS SET FROM B, C
135135SET TO ZERO RETRIES
137137TRY TO READ OR WRITE CURRENT SECTOR
139139TOO MANY RETRIES?
142142PAST MAXTRIES, MESSAGE AHD IGNORE
149149TYPED A CR, OK TO IGNORE
154154OK TO TRY READ OR WRITE
156156RETRY=RETRY+1
157157NEXT SECTOR TO READ OR WRITE
160160READ OR WRITE?
164164MUST BE WRITE
166166CHECK FOR ERROR RETURNS
171171ZERO FLAG IF R/W OK
173173ERROR, RETRY OPERATION
176176END OF TRACK
178178FOR ANOTHER TRACK
180180END OF READ OR WRITE, RETURN TO CALLER
188188GET SYSTEM?
191191ASSUME DISK B, UNLESS SPECIFIED
193193GET FROM DISK B
196196IN CASE A WAS TYPED
197197MAY BE FROM A
201201SELECT DISK GIVEN BY REGISTER C
204204TO SET MESSAGE
206206GETSYS, SET RW TO READ, AND GET SYSTEM
221221PUT SYSTEM
227227ASSUME DISKB, UNLESS SPECIFIED
233233MAY BE DISK A
238238;SET DISK FROM REGISTER C
241241MESSAGE SET
243243PUT SYSTEM, SET RW TO WRITE
254254TO PUT SYSTEM BACK ON DISKETTE
265265SELECT DISK A BEFORE REBOOT
268268DATA AREAS
269269MESSAGES
271271SYSGEN VERSION
274274GET SYSTEM? (Y/N)
275275SOURCE ON
277
281
277
281
, THEN TYPE RETURN
278278PUT SYSTEM? (Y/N)
279279DESTINATION ON
282282PERMANENT ERROR, TYPE RETURN TO IGNORE
283283FUNCTION COMPLETE
284284REBOOTING, TYPE RETURN
286286VARIABLES
287287SELECTED DISK FOR CURRENT OPERATION
288288CURRENT TRACK
289289CURRENT SECTOR
290290READ IF 0, WRITE IF 1
291291CURRENT DMA ADDRESS
292292NUMBER OF TRIES ON THIS SECTOR

to top

Matching Instruction Sequences
File1 Line# File2 Line# Number of matching instructions
2 2 243
187 223 12
202 239 12
223 187 12
239 202 12

to top

Matching Identifiers
00H 10 100H 11 14 24 26 27
30 33 36 39 5FH 5H 900H ASKGET
ASKPUT BAD BAH BDH BDOS BOOT BOOTING CDISK
CHKRW COND CONI CONO CR CRLF DISKA DISKB
DMA DMADDR DONE ENDRW ENDTRK ERRMSG GDISK GETC
GETCHAR GETMSG GETPUT IHR LF LOADP MAXTRY NTRKS
OUTMSG OUTMSG0 OUTMSGA PDISK PUTC PUTCHAR PUTMSG PUTSYS
READ READF REBOOT RETRY RW RWSEC RWTRK SDISK
SEC SECTOR SEL SELDSK SELF SETDMA SETSEC SETTRK
SIGHON SIGNON STACK STACKSIZE START TRACK TRK TRYOK
TRYREAD TRYSEC VERS WBOOT WR1TE WRITE WRITF

to top

Partially Matching Identifiers
*** NONE ***
to the top
SCORE 100

CodeSuite copyright 2003-2016 by Software Analysis and Forensic Engineering Corporation